<?php
include("smtp/class.phpmailer.php");
function correo($to,$titulo,$texto)
{
	
		$mail = new PHPMailer();
		$mail->IsSMTP();
		$mail->SMTPAuth = true;
		$mail->CharSet = "UTF-8";
		$mail->SMTPSecure = "tls";
		$mail->Host = "smtp.gmail.com"; // SMTP a utilizar. Por ej. smtp.elserver.com
		$mail->Username = "oneview@adapare.com"; // Correo completo a utilizar
		$mail->Password = "C4mbio4d4p4r3"; // Contraseña
		$mail->Port = 587; // Puerto a utilizar
		$mail->From = "oneview@adapare.com"; // Desde donde enviamos (Para mostrar)
		$mail->FromName = "OneView";
		$array_to=explode(',',$to);
		if(count($array_to)>0)
		{
			for($a=0;$a<count($array_to);$a++)
				$mail->AddAddress($array_to[$a]); // Esta es la dirección a donde enviamos
		}
		else
			$mail->AddAddress($to);
			//$mail->AddBCC("cuenta@dominio.com"); // Copia oculta
			$mail->Subject = $titulo; // Este es el titulo del email.
			//$body = "Hola mundo. Esta es la primer línea<br />";
			//$body .= "Acá continuo el <strong>mensaje</strong>";
			//$body=str_replace("\n","<br>",$texto);
			//$body=texto($texto);
			$mail->Body = $texto;  // Mensaje a enviar
			$mail->IsHTML(true); // El correo se envía como HTML
			//$mail->AltBody =// Texto sin html
			//$mail->AddAttachment("imagenes/imagen.jpg", "imagen.jpg");
			$exito = $mail->Send(); // Envía el correo.
		if($exito)
		{
			return 1;
		}
		else
		{
			return 0;
		}
}

function gravatar($mail)
{
    $grvMail = $mail; // email que deseamos consultar
    $grvInit = "http://www.adapare.mx/oneview/webcam/Profile_photos/default.jpg"; // imagen si no existe avatar
    //$grvInit = "http://icdn.pro/images/es/m/s/msn-messenger-icono-9325-128.png";
	$grvSize = 60; // tamaño del avatar
     
    $grvHttp = "http://www.gravatar.com/avatar.php";
    $grvHttp.= "?gravatar_id=".md5($grvMail);
    $grvHttp.= "&default=".urlencode($grvInit);
    $grvHttp.= "&size=".$grvSize;
	return $grvHttp;
}

function color_ticket($id,$conexion)
{
	$fecha_actual = date("Y-m-d H:i:00",time());  
	$resultado=seleccionar_ticket_id($id,$conexion);
	$resultados=mysql_fetch_array($resultado);
	$color1='';
	if($resultados['tipo']=='ticket')
	{
		$categorias=categoria_ticket($resultados['id_ticket'],$conexion); //obtiene el asunto del ticket antes llamado categoria, devuelve la plantilla habilitada por e		
		$r1=mysql_fetch_array($categorias); //r1 tiene los datos de categora
		$id_sla=id_sla_prioridad($r1['plantilla'],$resultados['id_prioridad'],$conexion);  //obtiene el id del sla por la plantilla y la prioridad del sla	
		$r2=mysql_fetch_array($id_sla); //r2 tiene los datos del id sla
		$datos_sla=datos_sla($r2['sla'],$conexion);   //datos del sla segun el id del sla
		$r3=mysql_fetch_array($datos_sla); //r3 tiene los datos del sla
		$limite1= limites($resultados['fecha_inicio'], $r3['hora_limite1'], $r3['minuto_limite1'], $r3['dia_limite1'],0);
		$limite2= limites($resultados['fecha_inicio'], $r3['hora_limite2'], $r3['minuto_limite2'], $r3['dia_limite2'],0);
		$tiempo1 = diferencia_fechas($resultados['fecha_inicio'],$limite1);
		$tiempo2 = diferencia_fechas($resultados['fecha_inicio'],$limite2);
		if($tiempo1>0 && $tiempo2>0)
		{	
			if(indice_fechas($fecha_actual)<indice_fechas($limite1))
			{
			  $color='verde';	
			}
			else if(indice_fechas($fecha_actual)<indice_fechas($limite2))
			
			{
			  $color='amarillo';	
			}
			else 
			{
			  $color='rojo';	
			}
		}
		else
		{
			$dif_actual_limite1="--";
			$porcen_tiempo="--";
			$color='ninguno';
		}
		
		
	}
	else
	{
	    $days=tiempo_proyecto($resultados['id_ticket'],$conexion);
		$days_result=mysql_fetch_array($days);
		$limite1= limites($resultados['fecha_inicio'], 0, 0, $days_result['tiempo'],0);		
		if(indice_fechas($fecha_actual)<indice_fechas($limite1))
		{
		  $color='verde';	
		}
		else 
		{
		  $color='rojo';	
		}
	}

	return $color;
}


function texto($text)
{
	//$texto=iconv("UTF-8", "ISO-8859-1", $text);
	//$texto=mysql_real_escape_string($text);
	//$texto=utf8_decode($text);
	//$texto=htmlentities($texto, ENT_QUOTES);
//	$texto=html_entity_decode($texto);
//	$texto=htmlspecialchars($texto, ENT_QUOTES);
	$order   = array("\r\n", "\n", "\r");
	$replace = '<br>';
	$texto= str_replace($order, $replace, $text);
	$texto=mysql_real_escape_string($texto);
	return $texto;
}

function texto2($text)
{
	$order   = array("\r\n", "\n", "\r");
	$replace = '';
	$texto= str_replace($order, $replace, $text);
	return $texto;
}

function quita_coma($text)
{
	$replace = '';
	$texto= str_replace(',', $replace, $text);
	return $texto;
}

function abrir_proyecto($feche_creacion, $titulo,$descripcion,$prioridad,$estado,$responsabilidad ,$id_representante, $id_contacto,$serie,$plantilla,$conexion)
{
	$fecha1=$feche_creacion." 09:00:00";
	$id_ticket = insertar_ticket_proyecto(texto($descripcion),$prioridad,$estado,'proyecto', texto($titulo),'0',$fecha1,$responsabilidad,$conexion);
	insertar_serie_ticket($serie,$id_ticket,$conexion);
	insertar_ticket_usuarios($_SESSION['id'],$id_ticket,1,0,$conexion);
	$representante=depto_prod($plantilla,$conexion);
	$rep=mysql_fetch_array($representante);	
	$campos=campos_producto($plantilla,$conexion);
	for($a=0;$a<mysql_num_rows($campos);$a++)
	{
		$campo=mysql_fetch_array($campos);
		insertar_ticket_usuarios($rep['usuario'],$id_ticket,0,1,$conexion);
		$id_dato = insertar_producto_datos($id_ticket,$_POST[$campo['id_campo']],$rep['usuario'], $conexion);
		insertar_producto_datos_campos($id_dato,$campo['id_campo'] ,$conexion);
	}
	return $id_ticket;		
}

function abrir_ticket($id_categoria, $titulo,$descripcion,$id_representante, $id_contacto,$conexion)
{
	
	$resultado=plantillas_categorias($id_categoria,$conexion);
		
		$presupuesto=0;
		if(mysql_num_rows($resultado)>0)
		{
			$categorias=mysql_fetch_array($resultado);
			$campos=campos($categorias['Plantilla_ticket_idPlantilla'],$conexion);
			$plantilla=$categorias['Plantilla_ticket_idPlantilla'];
			//sla para replica
			$sla=SLA_plantilla($plantilla,$conexion);
			$datos_sla=mysql_fetch_array($sla);
			$sla_replica=insertar_sla_replica($datos_sla['nombre'],$datos_sla['hora_limite1'], $datos_sla['dia_limite1'], $datos_sla['minuto_limite1'], $datos_sla['hora_limite2'], $datos_sla['dia_limite2'],$datos_sla['minuto_limite2'],$conexion);
			$d=Plantillas($conexion,$plantilla);
			$dd=mysql_fetch_array($d);
			$presupuesto=$dd['presupuesto'];
		//}
		$estado=estado($conexion);
		$prioridad=prioridad($conexion);

		
		//////////////////////////////////////////////////////////////////////////////////////////////
				$texto=$descripcion;
				$texto=texto($texto);
				
				$id_ticket=insertar_ticket($texto,'2','1','ticket', $titulo, $presupuesto,'0',$conexion);
				sla_ticket_fecha($id_ticket,$sla_replica,$conexion);
				insertar_ticket_usuarios($id_contacto,$id_ticket,1,0,$conexion);
				insertar_ticket_usuarios($id_representante,$id_ticket,0,1,$conexion);				
				insertar_ticket_categoria($id_categoria,$id_ticket,$conexion);
		
				if(mysql_num_rows($resultado)>0)
				{	
					for($a=0;$a<mysql_num_rows($campos);$a++)
					{
						$campo=mysql_fetch_array($campos);
						$id_dato=ticket_datos('off',$conexion);
                        ticket_datos_campos($campo['id_campos'],$id_dato,$id_ticket,$conexion);
					}
				}
			}
	return $id_ticket;		
}

function new_asunto_ticket($id_categoria, $ticket,$conexion)
{
	$resultado=plantillas_categorias($id_categoria,$conexion);
	$presupuesto=0;
	if(mysql_num_rows($resultado)>0)
	{
		$categorias=mysql_fetch_array($resultado);
		$campos=campos($categorias['Plantilla_ticket_idPlantilla'],$conexion);
		$plantilla=$categorias['Plantilla_ticket_idPlantilla'];
		$d=Plantillas($conexion,$plantilla);
		$dd=mysql_fetch_array($d);
		$presupuesto=$dd['presupuesto'];
	
		insertar_ticket_categoria($id_categoria,$ticket,$conexion);
			for($a=0;$a<mysql_num_rows($campos);$a++)
			{
				$campo=mysql_fetch_array($campos);
				$id_dato=ticket_datos('off',$conexion);
				ticket_datos_campos($campo['id_campos'],$id_dato,$ticket,$conexion);
			}
		actualizar_fecha_actual($ticket,$conexion);
	}		
}

function tickets_rojo($id,$conexion)
{
	date_default_timezone_set('America/Mexico_City');
	$fecha_actual = date("Y-m-d H:i:00",time()); 
	$mesx=substr($fecha_actual,5,-12);
		$contador=0;
		$resultado=idticket_info($id,$conexion);
		
		$resultados=mysql_fetch_array($resultado);	
		
		$categorias=categoria_ticket($resultados['id_ticket'],$conexion);
		$productos=producto_ticket($resultados['id_ticket'],$conexion);				  
		$r1=mysql_fetch_array($categorias);
		$id_sla=id_sla_prioridad($r1['plantilla'],$resultados['prioridad_id_prioridad'],$conexion);
		$r2=mysql_fetch_array($id_sla);
		$datos_sla=datos_sla($r2['sla'],$conexion);
		$r3=mysql_fetch_array($datos_sla);
		$slas=proyecto_presupuesto_alcance($resultados['id_ticket'],$conexion);
		$resultadoslas=mysql_fetch_array($slas);
		
		$limite1= limites($resultados['fecha_inicio'], $r3['hora_limite1'], $r3['minuto_limite1'], $r3['dia_limite1'],0);
		$limite2= limites($resultados['fecha_inicio'], $r3['hora_limite2'], $r3['minuto_limite2'], $r3['dia_limite2'],0);
		$tiempo1 = diferencia_fechas($resultados['fecha_inicio'],$limite1);
		$tiempo2 = diferencia_fechas($resultados['fecha_inicio'],$limite2);
		$dif_actual_limite1=diferencia_fechas($fecha_actual,$limite1);
		$limite1_sla=diferencia_fechas($fecha_actual, $limite1);
		$limite2_sla=diferencia_fechas($fecha_actual, $limite2);
		
		$int_limite=diferencia_fechas($limite1,'0000-00-00 00:00:00');

		$total_dias_limite=(strtotime($limite1)-strtotime($resultados['fecha_inicio']))/86400;
		$dias_transcurridos=(strtotime($limite1)-strtotime($fecha_actual))/86400;
		if($total_dias_limite>0)
		$porcen_tiempo=100-(($total_dias_limite-$dias_transcurridos)*100)/$total_dias_limite;
		else
		$porcen_tiempo=0;
		if(indice_fechas($fecha_actual)<indice_fechas($limite1))
		{
			$contador=0;
		}
		else if(indice_fechas($fecha_actual)<indice_fechas($limite2))
		{
			$contador=0;
		}
		else 
		{
			$contador=1;	
		}
		return $contador;
}



function RandomString($length=10,$uc=TRUE,$n=TRUE,$sc=FALSE)
	{
	    $source = 'abcdefghijklmnopqrstuvwxyz';
	    if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	    if($n==1) $source .= '1234567890';
	    if($sc==1) $source .= '|@#~$%()=^*+[]{}-_';
	    if($length>0){
	        $rstr = "";
	        $source = str_split($source,1);
	        for($i=1; $i<=$length; $i++){
	            mt_srand((double)microtime() * 1000000);
	            $num = mt_rand(1,count($source));
	            $rstr .= $source[$num-1];
	        }
	 
	    }
	    return $rstr;
	}

function array_envia($array) {

     $tmp = serialize($array);
     $tmp = urlencode($tmp);

     return $tmp;
} 

function array_recibe($url_array) {
     $tmp = stripslashes($url_array);
     $tmp = urldecode($tmp);
     $tmp = unserialize($tmp);

    return $tmp;
} 

function valida_numero($telefono) {
     $telefono = str_replace(' ','',$telefono);
	 $longitud=strlen($telefono);
	 if($longitud==8)
	 {
		 return "9".$telefono;
	 }
	 else if($longitud==10)
	 {
		 if(substr($telefono,0,2)==55)
		 	return "9044".$telefono;
		else	
		 	return "9045".$telefono;
	 }
	 
	 else if($longitud==13)
	 {
		 return "9".$telefono;
	 }
	 else
	 {
		 return $telefono;
	 }
} 

function vertical($cadena)
{
   	$long= strlen($cadena);
	for($z=0;$z<$long;$z++)
	{
	 echo $cadena[$z]."<br/>";
	}
}

function variable_k_m($cadena)
{
	$result=0;
	$enteros= explode(".", $cadena);
	$long_cadena= strlen($enteros[0]);
	if($long_cadena>=7)
	{
		$res=$cadena/1000000;
		$result=$res." M";
	}
	else if($long_cadena>=4 || $long_cadena<7)
	{
		$res=$cadena/1000;
		$result=number_format($res,2,'.','.'). " K";
	}
	return $result;
}

function comas($valor) { 
    $aux = (string) $valor;
	
	if(strpos( $aux, "." ))
	{
		$decimales =  substr( $aux,strpos( $aux, "." )); 
		$entero = substr( $aux, 0, strpos( $aux, "." ));
	}
	else
	{
		$entero=$aux;
		$decimales=".00";
	}
	
	$entero = number_format((float)$entero);
	$cantidad = $entero.$decimales;
   return $cantidad; 
}

function limites($fecha, $hr, $min, $dia, $desviacion) 
{
		if($hr=='')
			$hr=0;
		if($min=='')
			$min=0;			
		if($dia=='')
			$dia=0;			


		$porcentaje_desv1=$desviacion/100;
		$dias_x_hora=$dia*24;
		//$min_punto=$min/60;
		$horas_tot= $hr+$dias_x_hora;
		$horas_porcentaje=$horas_tot*$porcentaje_desv1;
		$hr_min = explode(".", $horas_porcentaje);
		$hr_porcentaje = $hr_min[0];
		$hrs_fin=$horas_porcentaje+$horas_tot;
		//$min_porcent = ".".$hr_min[1];
		if(isset($hr_min[1]))
			$min_porcent = ".".$hr_min[1];
		else
			$min_porcent=0;
		$min_porcentaje = $min_porcent*60;
		$minutosporcent = explode(".", $min_porcentaje);
		$minutos_porcentaje = $minutosporcent[0];		
		$suma = date("Y-m-d H:i:s",strtotime($fecha." + ".$hrs_fin." hours ".$min." minutes 0 seconds"));
		//echo "funcion".$suma."<br>";
	    return $suma;
} 

function porcent_fecha($fechaini, $fechafin)
{
        $sdate = strtotime($fechaini);
        $edate = strtotime($fechafin);
		
        $time1 = $sdate;
		$time1 = $time1/3600;
		$time1 = $time1/24;
		$time2 = $edate;
		$time2 = $time2/3600;
		$time2 = $time2/24;
		$time = (($time1)*100)/$time2;
		$time= number_format($time,2,'.','.');
		return $time;
}


function int_fecha($fecha)
{
        $time = strtotime($fecha);		
		$time = $time/3600;
		$time = $time/24;
		$time= number_format($time,2,'.','.');
		return $time;
}

function diferencia_fechas($start, $end)
{
        $sdate = strtotime($start);
        $edate = strtotime($end);
		
		$time = $edate - $sdate;
		$time = $time/3600;
		$time = $time/24;
		//echo $time;
//		$time= number_format($time,2,'.','.');
		//echo $time."<tr>";
		return $time;
}

function indice_fechas($start)
{
        $sdate = strtotime($start);
		return $sdate;
}


function diferencia_fecha($start, $end)
{
        $sdate = strtotime($start);
        $edate = strtotime($end);
		$timeshift=0;
        $time = $edate - $sdate;
        if($time>=0 && $time<=59) {
                // Seconds
                $timeshift = $time.' seconds ';

        } elseif($time>=60 && $time<=3599) {
                // Minutes + Seconds
                $pmin = ($edate - $sdate) / 60;
                $premin = explode('.', $pmin);
               
                $presec = $pmin-$premin[0];
                $sec = $presec*60;
               
                $timeshift = $premin[0].' min '.round($sec,0).' sec ';

        } elseif($time>=3600 && $time<=86399) {
                // Hours + Minutes
                $phour = ($edate - $sdate) / 3600;
                $prehour = explode('.',$phour);
               
                $premin = $phour-$prehour[0];
                $min = explode('.',$premin*60);
               
                $presec = '0.'.$min[1];
                $sec = $presec*60;

                $timeshift = $prehour[0].' hrs '.$min[0].' min '.round($sec,0).' sec ';

        } elseif($time>=86400) {
                // Days + Hours + Minutes
                $pday = ($edate - $sdate) / 86400;
                $preday = explode('.',$pday);

                $phour = $pday-$preday[0];
                $prehour = explode('.',$phour*24);

                $premin = ($phour*24)-$prehour[0];
                $min = explode('.',$premin*60);
               
				if(isset($min[1]))
    	            $presec = '0.'.$min[1];
				else	
					$presec = '0.0';
					
                $sec = $presec*60;
               
                $timeshift = $preday[0].' days '.$prehour[0].' hrs '.$min[0].' min '.round($sec,0).' sec ';

        }
        return $timeshift;
}

function sumar_mes($fecha,$meses) 
{
	$fecha_ddmmyy=explode("-",$fecha);
	$ano2=$fecha_ddmmyy[0];
	$mes2=$fecha_ddmmyy[1];
	$dia2=$fecha_ddmmyy[2];
	$fecha2 = mktime(0,0,0,$mes2+$meses,$dia2,$ano2);
	$fecha3=substr(str_replace('T', ' ', date(DATE_ATOM,$fecha2)),0,10);
    return  $fecha3;
} 


function limites_tiempo($vencimiento,$limite1, $limite2) 
{
    //$fecha_actual = strtotime(date("Y-m-d H:i:00",$vencimiento));  
	$fecha_actual = strtotime($vencimiento);  
	$fecha_entrada = strtotime($limite1);
	$fecha_entrada2 = strtotime($limite2);  
	if($fecha_actual <= $fecha_entrada)
		{  
			return 1;
		}
		else
		{  
			if($fecha_actual <= $fecha_entrada2)
			{  
				return 2;
			}
			else
			{
				return 3;	
			}
			
		}  

}


function tiempo_sla($ano1, $mes1, $dia1, $horas, $minuto, $segundo) 
{
	//calculo timestam de las dos fechas
	date_default_timezone_set('America/Mexico_City');
	$fecha_actual = date("Y-m-d H:i:00",time());  
	$fecha_hora=explode(" ",$fecha_actual);
	$fecha=$fecha_hora[0];
	$fecha_ddmmyy=explode("-",$fecha);
	$ano2=$fecha_ddmmyy[0];
	$mes2=$fecha_ddmmyy[1];
	$dia2=$fecha_ddmmyy[2];
	$hora=$fecha_hora[1];
	$hora_hms=explode(":",$hora);
	$hora2=$hora_hms[0];
	$min2=$hora_hms[1];
	$seg2=$hora_hms[2];
	$timestamp1 = mktime($hora2,$min2,$seg2,$mes2,$dia2,$ano2);
	$timestamp2 = mktime($horas,$minuto,$segundo,$mes1,$dia1,$ano1);
	
	//resto a una fecha la otra
	$segundos_diferencia = $timestamp1 - $timestamp2;
	//echo $segundos_diferencia;
	
	//convierto segundos en días
	$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);
	$dias=number_format($dias_diferencia,2,'.','.');
	//obtengo el valor absoulto de los días (quito el posible signo negativo)
	//$dias_diferencia = abs($dias_diferencia);
	
	//quito los decimales a los días de diferencia
	//$dias_diferencia = floor($dias_diferencia);

    return  $dias;
} 

function tiempos_slas($ano1, $mes1, $dia1, $horas, $minuto, $segundo,$date) 
{
	//calculo timestam de las dos fechas
	
	$fecha_actual = $date;
	$fecha_hora=explode(" ",$fecha_actual);
	$fecha=$fecha_hora[0];
	$fecha_ddmmyy=explode("-",$fecha);
	$ano2=$fecha_ddmmyy[0];
	$mes2=$fecha_ddmmyy[1];
	$dia2=$fecha_ddmmyy[2];
	$hora=$fecha_hora[1];
	$hora_hms=explode(":",$hora);
	$hora2=$hora_hms[0];
	$min2=$hora_hms[1];
	//$seg2=$hora_hms[2];
	$timestamp1 = mktime($hora2,$min2,0,$mes2,$dia2,$ano2);
	$timestamp2 = mktime($horas,$minuto,$segundo,$mes1,$dia1,$ano1);
	
	//resto a una fecha la otra
	$segundos_diferencia = $timestamp1 - $timestamp2;
	//echo $segundos_diferencia;
	
	//convierto segundos en días
	$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);
	$dias=number_format($dias_diferencia,2,',','.');
	//obtengo el valor absoulto de los días (quito el posible signo negativo)
	//$dias_diferencia = abs($dias_diferencia);
	
	//quito los decimales a los días de diferencia
	//$dias_diferencia = floor($dias_diferencia);

    return  $dias;
} 

function alcance($totales, $total_on)
{
	$alcance=($total_on*100)/$totales;
	return $alcance;
}

function filtro($resultado,$filtro,$conexion,$div)
{
$porcentaje=array();
$tickets=array();
$alc=array();
$titulos=array();
$mensaje= "";
			$mensaje2="";
			$unidad="";
			$nombr="";
for($i=0;$i<mysql_num_rows($resultado);$i++)
{
      switch($filtro)
    {
        case 'alcance':
            $resultados=mysql_fetch_array($resultado);
            $slas=proyecto_presupuesto_alcance($resultados['id_ticket'],$conexion);
            $resultadoslas=mysql_fetch_array($slas);
            $var=filtro_alcance($resultados,$resultadoslas,$conexion);
			$var1=$var;
			$nombre=nombre_ticket($resultados['id_ticket'],$conexion);
			$nombr=mysql_fetch_array($nombre);
            $titulo='Alcance de los Tickets';
            $legend='# Ticket';
            $ytitle='Alcance';
			$mensaje= "Ticket No #x_label#.<br>#tip#";
			$mensaje2="%";
			$unidad="%";
			//$div="alcance";
		
        break;
        case 'presupuesto':
            $resultados=mysql_fetch_array($resultado);
            $slas=proyecto_presupuesto_alcance($resultados['id_ticket'],$conexion);
            $resultadoslas=mysql_fetch_array($slas);
            $var=filtro_presupuesto($resultados,$resultadoslas,$conexion);  
            $var1=filtro_alcance($resultados,$resultadoslas,$conexion);
			$nombre=nombre_ticket($resultados['id_ticket'],$conexion);
			$nombr=mysql_fetch_array($nombre);
            $titulo='Costo de los Tickets';
            $legend='# Ticket';
            $ytitle='Presupuesto';
			$mensaje= "Tiene un costo de $#val#<br>del Ticket No #x_label#.<br>#tip#";
			$mensaje2="$";
			$unidad="$";
		
        break;
        case 'tiempo':
			$resultados=mysql_fetch_array($resultado);
			$var=filtro_tiempo($resultados,$conexion);
            $slas=proyecto_presupuesto_alcance($resultados['id_ticket'],$conexion);
            $resultadoslas=mysql_fetch_array($slas);			
			$var1=filtro_alcance($resultados,$resultadoslas,$conexion);
			$nombre=nombre_ticket($resultados['id_ticket'],$conexion);
			$nombr=mysql_fetch_array($nombre);
            $titulo='Tiempo de los Tickets';
            $legend='# Ticket';
            $ytitle='Tiempo';
			$mensaje= "Tiene un tiempo del #val#%<br>el Ticket No #x_label#.<br>#tip#";
			$mensaje2="%";
			$unidad="%";
		break;
        case 'vigencia':
			$resultados=mysql_fetch_array($resultado);
			$var=filtro_vigencia($resultados,$conexion);  
			$slas=proyecto_presupuesto_alcance($resultados['id_ticket'],$conexion);
            $resultadoslas=mysql_fetch_array($slas);
			$var1=filtro_alcance($resultados,$resultadoslas,$conexion);
            $nombre=nombre_ticket($resultados['id_ticket'],$conexion);
			$nombr=mysql_fetch_array($nombre);
			$titulo='Vigencia de los tickets';
            $legend='# Ticket';
            $ytitle='Vigencia';
			$mensaje= "Tiene una vigencia de #val# en la Empresa #x_label#.<br>#tip#";
			$mensaje2="%";
			$unidad="d&iacute;as";
			//$div="vigencia";
        break;

    }
    $porcentaje[$i]=$var;
    $tickets[$i]=$resultados['id_ticket'];
	$alc[$i]=$var1;
	$titulos[$i]=$nombr['titulo'];
	
}
array_multisort($alc, SORT_DESC, $tickets,$porcentaje,$titulos);
//print_r($porcentaje);
//print_r($titulos);
//grafica($porcentaje,$tickets,$titulo,$legend,$ytitle);
return grafica_api3($porcentaje,$tickets,'#4b80b6','#7BBAC1','#660000',$unidad,$mensaje,6,$titulos);
}


function filtro_presupuesto($resultados,$resultadoslas,$conexion)
{
    $ver_gastos=ver_gastos($resultados['id_ticket'],$conexion);
    if(mysql_num_rows($ver_gastos)>0)
    {
        $suma_gastos=suma_gastos_ticket($resultados['id_ticket'],$conexion);
         $sumas=mysql_fetch_array($suma_gastos);
        
         if($resultados['tipo']=='ticket')
         {  
		 	if($resultados['presupuesto_ticket']>0)
			{
            	$porcent_presupuesto=number_format((($resultados['presupuesto_ticket']-$sumas['gastos'])*100)/$resultados['presupuesto_ticket'],2,'.','.');
			   $porcent_presupuesto=number_format(100-$porcent_presupuesto,2,'.','.');
			}
			else
				$porcent_presupuesto="-100";
         }
         else
         {
			 if($resultadoslas['presupuesto']>0)
	            $porcent_presupuesto=number_format((($resultadoslas['presupuesto']-$sumas['gastos'])*100)/$resultadoslas['presupuesto'],2,'.','.');
			else
				$porcent_presupuesto=0;
            $porcent_presupuesto=number_format(100-$porcent_presupuesto,2,'.','.');
      	  }
    }
    else
    {
        //$porcent_presupuesto=100;
		$porcent_presupuesto=0;
    }
    return $porcent_presupuesto;
}


function filtro_alcance($resultados,$resultadoslas,$conexion)
{
  if($resultados['tipo']=='ticket')
    {
        $alcance=$resultados['alcance'];
    }
    else
    {
        $alcance=$resultadoslas['alcance'];
    }
      return $alcance;
}

function filtro_tiempo($resultados,$conexion)
{
//SLA TIEMPO
$fecha_actual = date("Y-m-d H:i:00",time());  
	if($resultados['tipo']=='ticket')
	{
		$categorias=categoria_ticket($resultados['id_ticket'],$conexion);	
		$r1=mysql_fetch_array($categorias);
	//$id_sla=id_sla($r1['plantilla'],$conexion);
		$id_sla=id_sla_prioridad($r1['plantilla'],$resultados['id_prioridad'],$conexion);
		$r2=mysql_fetch_array($id_sla);
		$datos_sla=datos_sla($r2['sla'],$conexion);
	$r3=mysql_fetch_array($datos_sla);

		$limite1= limites($resultados['fecha_inicio'], $r3['hora_limite1'], $r3['minuto_limite1'], $r3['dia_limite1'],0);
		$limite2= limites($resultados['fecha_inicio'], $r3['hora_limite2'], $r3['minuto_limite2'], $r3['dia_limite2'],0);
		$tiempo1 = diferencia_fechas($resultados['fecha_inicio'],$limite1);
		$tiempo2 = diferencia_fechas($resultados['fecha_inicio'],$limite2);
		$dif_actual_limite1=diferencia_fechas($fecha_actual,$limite1);
		$limite1_sla=diferencia_fechas($fecha_actual, $limite1);
		$limite2_sla=diferencia_fechas($fecha_actual, $limite2);
		
		$int_limite=diferencia_fechas($limite1,'0000-00-00 00:00:00');
		$total_dias_limite=(strtotime($limite1)-strtotime($resultados['fecha_inicio']))/86400;
		$dias_transcurridos=(strtotime($limite1)-strtotime($fecha_actual))/86400;
		if($total_dias_limite==0)
		$porcen_tiempo=0;
		else
		$porcen_tiempo=100-(($total_dias_limite-$dias_transcurridos)*100)/$total_dias_limite;
	}
	else
	{
	    $days=tiempo_proyecto($resultados['id_ticket'],$conexion);
		$days_result=mysql_fetch_array($days);
		$limite1= limites($resultados['fecha_inicio'], 0, 0, $days_result['tiempo'],0);
		$tiempo1 = diferencia_fechas($resultados['fecha_inicio'],$limite1);
		$dif_actual_limite1=diferencia_fechas($fecha_actual,$limite1);
		if($days_result['tiempo']>0)
		$porcen_tiempo=($dif_actual_limite1*100)/$days_result['tiempo'];
		else
		$porcen_tiempo=0;
	}
	return $porcen_tiempo;
}

function filtro_vigencia($resultados,$conexion)
{
//SLA TIEMPO
$fecha_actual = date("Y-m-d H:i:00",time());  
	if($resultados['tipo']=='ticket')
	{
		$categorias=categoria_ticket($resultados['id_ticket'],$conexion);	
$r1=mysql_fetch_array($categorias);
	//$id_sla=id_sla($r1['plantilla'],$conexion);
	$id_sla=id_sla_prioridad($r1['plantilla'],$resultados['id_prioridad'],$conexion);
	$r2=mysql_fetch_array($id_sla);
	$datos_sla=datos_sla($r2['sla'],$conexion);
	$r3=mysql_fetch_array($datos_sla);

		$limite1= limites($resultados['fecha_inicio'], $r3['hora_limite1'], $r3['minuto_limite1'], $r3['dia_limite1'],0);
		$limite2= limites($resultados['fecha_inicio'], $r3['hora_limite2'], $r3['minuto_limite2'], $r3['dia_limite2'],0);
		$tiempo1 = diferencia_fechas($resultados['fecha_inicio'],$limite1);
		$tiempo2 = diferencia_fechas($resultados['fecha_inicio'],$limite2);
		$dif_actual_limite1=diferencia_fechas($fecha_actual,$limite1);
		$limite1_sla=diferencia_fechas($fecha_actual, $limite1);
		$limite2_sla=diferencia_fechas($fecha_actual, $limite2);
		
		$int_limite=diferencia_fechas($limite1,'0000-00-00 00:00:00');
		$total_dias_limite=(strtotime($limite1)-strtotime($resultados['fecha_inicio']))/86400;
		$dias_transcurridos=(strtotime($limite1)-strtotime($fecha_actual))/86400;
	}
	else
	{
	    $days=tiempo_proyecto($resultados['id_ticket'],$conexion);
		$days_result=mysql_fetch_array($days);
		$limite1= limites($resultados['fecha_inicio'], 0, 0, $days_result['tiempo'],0);
		$tiempo1 = diferencia_fechas($resultados['fecha_inicio'],$limite1);
		$dif_actual_limite1=diferencia_fechas($fecha_actual,$limite1);
	}
	return $dif_actual_limite1;
}

function filtro_vigencia_clientes($conexion)
{
        $fecha_actual = date("Y-m-d H:i:00",time());   
        $consulta = datosEmpresaCliente($conexion);
		$consulta2 =  datosEmpresa($conexion);
        //$consulta2 = vigencia_serial_empresa($conexion);
        $producto=array();
        $tiempo=array();
        $producto1=array();
        $tiempo1=array();
        $empresa=array();
        $empresa2=array();
        $total_prod=array();
        $total_tiempo=array();
        $div="vigencia";
		
		if(mysql_num_rows($consulta2)>0)
        {
          for($f=0;$f<mysql_num_rows($consulta2);$f++)
             {
				 $id_empresa_1 = mysql_fetch_array($consulta2); 
                 $resultado_x = vigencia_serial_empresa($id_empresa_1['id_empresa'],$conexion);
				  if(mysql_num_rows($resultado_x)==0)
					{
						$tiempo_1[0]=0;
						$producto_1[0]=0;
					}
					else
					{
						for($z=0;$z<mysql_num_rows($resultado_x);$z++)
						{
							 $serial = mysql_fetch_array($resultado_x);
							 $dif_actual=diferencia_fechas($fecha_actual,$serial['fecha_vencimiento']);
							 $producto_1[$z] = $serial['producto']; 
							 $tiempo_1[$z] = $dif_actual;
							 $empresa_1[$z]=$serial['usuario'];
							 $empresa2_1[$z]=$serial['usuario']; 
						}
					}
				array_multisort($tiempo_1, SORT_ASC, $producto_1);
				$total_prod[]=$producto_1[0];
				$total_tiempo[]=$tiempo_1[0];
				$empresa[]=$empresa_1[0];
				$empresa2[]=$empresa2_1[0];
         		}
		}

        if(mysql_num_rows($consulta)>0)
        {
         for($a=0;$a<mysql_num_rows($consulta);$a++)
         {
             $id_empresa = mysql_fetch_array($consulta); 
             $resultado = vigencia_serial_clientes($id_empresa['id_cliente'],$conexion);
             $emp2=empresa_clt($id_empresa['id_cliente'],$conexion);
             $empresas2=mysql_fetch_array($emp2);
            if(mysql_num_rows($resultado)==0)
            {
                $tiempo[0]=0;
                $producto[0]=0;
            }
            else
            {
                    for($b=0;$b<mysql_num_rows($resultado);$b++)
                    {
                        $res=mysql_fetch_array($resultado);
                        $dif_actual=diferencia_fechas($fecha_actual,$res['fecha_vencimiento']);
                        $producto[$b] = $res['producto']; 
                        $tiempo[$b] = $dif_actual; 
                        
                    }
                    array_multisort($tiempo, SORT_ASC, $producto);
            }
             $total_tiempo[]=$tiempo[0];
             $total_prod[]=$producto[0];
             $empresa[]=$id_empresa['nombre'];
             $empresa2[]=$empresas2['empresa2'];
          }
            $mensaje= "Tiene una vigencia #val#<br>en la Empresa #x_label#.<br>Cliente de:#tip#";
            $mensaje2=" días, ";
            $unidad="Días";
        return grafica_api3($total_tiempo,$empresa,'#4b80b6','#7BBAC1','#660000',$unidad,$mensaje,1,$empresa2);

        }
        
        else
        {
            ?><script>$('<?php echo $div ?>').update('No hay registros');
            $('<?php echo $div ?>').innerHTML;
            </script><?php
        }

}

//API JPGRAPH
function grafica($porcentaje,$tickets,$titulo,$legend,$ytitle)
{
    $graph = new Graph(450,250,"auto"); 
    $graph->SetScale("linlin"); 
    $graph->img->SetAntiAliasing(); 
    $graph->xgrid->Show(); 
	$graph->title->SetFont(FF_ARIAL,FS_BOLD,10);
	$graph->xaxis->title->SetFont(FF_ARIAL,FS_BOLD,8);
	$graph->yaxis->title->SetFont(FF_ARIAL,FS_BOLD,8);
	$graph->xaxis->SetFont(FF_ARIAL,FS_BOLD,8);
	$graph->yaxis->SetFont(FF_ARIAL,FS_BOLD,8);
	$graph->xaxis->SetTitle($legend,"middle");
    $graph->img->SetMargin(40,20,20,40); 
    //$graph->title->Set($titulo); 
    $graph->xaxis->SetTickLabels($tickets);
    $graph->yaxis->title->Set($ytitle); 
	$barplot =new BarPlot($porcentaje);
	$barplot->SetColor("orange");
	$barplot->SetFillGradient("blue","cyan",GRAD_LEFT_REFLECTION);
	//$barplot->SetFillGradient("cyan", "blue", GRAD_HOR);
	$lineplot = new LinePlot($porcentaje);
	$lineplot->SetColor("blue");
	$lineplot->SetWeight(2);
	$graph->Add($barplot);
    $graph->Add($lineplot);
	$graph->Stroke(); 
}

function grafica2($cantidad,$alcance,$titulo,$ejex,$ejey,$color1,$color2)
{
    $graph = new Graph(400,200,"auto"); 
    $graph->SetScale("textlin"); 
    $graph->img->SetAntiAliasing(); 
    $graph->xgrid->Show(); 
	$graph->title->SetFont(FF_ARIAL,FS_BOLD,10);
	$graph->xaxis->title->SetFont(FF_ARIAL,FS_BOLD,8);
	$graph->yaxis->title->SetFont(FF_ARIAL,FS_BOLD,8);
	$graph->xaxis->SetFont(FF_ARIAL,FS_BOLD,8);
	$graph->yaxis->SetFont(FF_ARIAL,FS_BOLD,8); 
  	$graph->xaxis->SetTitle($ejex,"middle");
    $graph->img->SetMargin(40,20,20,40); 
    $graph->title->Set($titulo); 
    $graph->xaxis->SetTickLabels($alcance);
    $graph->yaxis->title->Set($ejey); 
	$barplot =new BarPlot($cantidad);
	$barplot->SetColor("orange");
	$barplot->SetFillGradient($color1,$color2,GRAD_LEFT_REFLECTION);
	//$barplot->SetFillGradient("cyan", "blue", GRAD_HOR);
	$lineplot = new LinePlot($cantidad);
	$lineplot->SetColor("blue");
	$lineplot->SetWeight(2);
	$graph->Add($barplot);
    $graph->Add($lineplot);
	$graph->Stroke(); 
}

function consulta_filtro($arreg)
{
		$arreglo=array_recibe($_GET['r']);	
		if($arreglo['r']=='todos')
     {
         $resultado=seleccionar_ticket('asc',$conexion);
     }
    else if($arreglo['r']=='empresa')
    {     
    	$resultado = seleccionar_ticket_empresa($arreglo['id_empresa'],'asc',$conexion);
	}
    else if($arreglo['r']=='usuario')
    {
		$resultado=seleccionar_ticket_idusuario($arreglo['id_usuario'],'asc',$conexion);
    
    }
	 else if($arreglo['r']=='departamento')
    {
         $resultado=seleccionar_ticket_iddepto($arreglo['id_depto'],'asc',$conexion); //pasar parametro con el depto
    }
      if (mysql_num_rows($resultado)==0)
        {
            echo "<b><p align='center'> No hay Ticket Generados</p></b>";
            die();
        }
}

//apri de grafico

function  grafica_api2($data,$labels,$color_barra, $color_hover,$color_negativo,$unidad,$mensaje, $escala)
{
	$l=array();
	$m=array();
	$min=array();
	$max=array();
include_once ('php-ofc-library/open-flash-chart.php');

$bar = new bar_outline( 50, $color_barra, $color_barra );
$bar->key( $unidad, 10 );
$bar->data=$data;

$g = new graph();
$g->title( ' ', '{font-size: 12px; color: #800000}' );
//echo $g->render();
$g->data_sets[] = $bar;
$g->set_x_labels( $labels );
$g->set_x_label_style( 10, '#9933CC', 2, $escala);
$g->set_x_axis_steps( 1);
//print_r($data);
if(count($data)==0)
	$data=0;
else
{
$g->set_y_min(min($data));
$g->set_y_max(max($data));
}
$g->set_width( '90%' );
$g->set_height( '100%' );

$g->y_label_steps( 4 );
//$g->set_y_legend( 'Open Flash Chart', 12, '#736AFF' );
/*		if($mess==1)
			$ms= $mensaje."#val# ".$mensaje1;
		else if($mess==2)
			$ms= $mensaje.'#val#%<br> del Ticket No #x_label#';
		else if($mess==3)
			$ms= $mensaje."#val# ".$mensaje1." en la Empresa #x_label#";
*/
$g->set_tool_tip($mensaje);
$g->set_output_type('js');
return $g->render();
//return $chart->toPrettyString();
 }
 


function  grafica_api3($data,$labels,$color_barra, $color_hover,$color_negativo,$unidad,$mensaje, $escala,$data2)
{
	$l=array();
	$m=array();
	$min=array();
	$max=array();
include_once ('php-ofc-library/open-flash-chart.php');

$bar = new bar_outline( 50, $color_barra, $color_barra );
$bar->key( $unidad, 10 );
//$bar->data=$data;

for($t=0;$t<count($data);$t++)
    $bar->add_data_tip($data[$t], ''.html_entity_decode($data2[$t],ENT_QUOTES, "UTF-8").'' );

$bar->key( '', 10 );
$g = new graph();

$g->title( ' ', '{font-size: 12px; color: #800000}' );
//echo $g->render();

$g->data_sets[] = $bar;

$g->set_x_labels( $labels );
$g->set_x_label_style( 10, '#9933CC', 2, $escala);
$g->set_x_axis_steps( 1);
//print_r($data);
if(count($data)==0)
    $data=0;
else
{
$g->set_y_min(min($data));
$g->set_y_max(max($data));
}
$g->set_width( '90%' );
$g->set_height( '100%' );
$g->y_label_steps( 4 );
$g->set_tool_tip($mensaje);
$g->set_output_type('js');
return $g->render();
//return $chart->toPrettyString();
 }
 
?>